/**
 * 
 */
package hr.fer.zemris.annotator.settings;

/**
 * @author dajan
 * 
 */
public class ApplicationSettings {

	public static final String APPLICATION_OUTPUT_PROFILING_FILE_NAME = "/PerformanceAnnotatorOutput.txt";

	public static final String APPLICATION_OUTPUT_PATH = "output";

	public static final String APPLICATION_DEFAULT_TERMINAL = "bash";

	public static final String C_FUNCTION_DEFINITION_REGEX = "((?<=[\\s:~])(\\w+)\\s*\\(([\\w\\s,<>\\[\\].=&':/*]*?)\\)\\s*(const)?\\s*(?=\\{))";

	public static final String APPLICATION_MEMO = "/* \n"
			+ "\t This code is annotated by the Performan(C)eAnnotator, \n"
			+ "\t application written by Dajan Zvekić as part of the Master Thesis \n"
			+ "\t under the mentorship of prof. dr. sc. Vlado Sruk. \n"
			+ "\t In Croatia, Zagreb, 2011. \n" + "*/ \n\n";

	public static final String FLAT_PROFILING_DATA_EXPLANATION = "/*\nFlat profiling data explanation: \n"
			+ "-------------------------------- \n\n"
			+ "Time percentage: The percentage of the total running time of the program used by this function. \n\n"
			+ "Cumulative seconds: A running sum of the number of seconds accounted for by this function and those listed above it. \n\n"
			+ "Self seconds: The number of seconds accounted for by this function alone. This is the major sort for this listing. \n\n"
			+ "Calls: The number of times this function was invoked, if this function is profiled, else blank. \n\n"
			+ "Self calls: The average number of miliseconds spent in this function per call, if this function is profiled, else blank. \n\n"
			+ "Total calls: The average number of miliseconds spent in this function and its descendents per call, if this function is profiled, else blank. \n\n"
			+ "*/ \n\n";

	public static final String CALL_GRAPH_PROFILING_DATA_EXPLANATION = "/*\nCall graph data explanation: \n"
			+ "---------------------------- \n\n"
			+ "This table describes the call tree of the program, and was sorted by \n"
			+ " the total amount of time spent in each function and its children. \n\n"
			+ "*/\n\n";

	public static final int FLAT_PROFILING_DATA = 0;

	public static final int CALL_GRAPH_DATA = 1;

}
